<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <!-- Add CryptoJS library -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>
  </head>
  <body></body>
  <script>
    // (function () {
    //   // 1. 禁用F12和右键菜单
    //   document.addEventListener("keydown", (e) => {
    //     if (e.key === "F12" || (e.ctrlKey && e.shiftKey && e.key === "I")) {
    //       e.preventDefault();
    //       window.location.href = "about:blank";
    //     }
    //   });
    //   document.addEventListener("contextmenu", (e) => e.preventDefault());

    //   // 2. 增强控制台检测
    //   function checkConsole() {
    //     const devtools = new RegExp(".");
    //     devtools.toString = function () {
    //       document.body.innerHTML = "<h1>禁止调试</h1>";
    //       window.location.href = "about:blank";
    //       return "";
    //     };
    //     console.log("%c", devtools);
    //   }
    //   setInterval(checkConsole, 1000);

    //   // 3. 禁用调试函数
    //   Object.defineProperty(window, "console", {
    //     value: {},
    //     writable: false,
    //     configurable: false,
    //   });
    // })();
  </script>
  <script>
    // // 数据混淆和加密
    // function protectData(data) {
    //   // 1. 数据混淆
    //   const obfuscated = JSON.stringify(data)
    //     .split("")
    //     .reverse()
    //     .join("")
    //     .replace(/./g, (c) => String.fromCharCode(c.charCodeAt(0) + 1));

    //   // 2. 添加防篡改签名
    //   const signature = CryptoJS.MD5(obfuscated + "SALT").toString();
    //   return { data: obfuscated, sig: signature };
    // }

    // // 使用时
    // const sensitiveData = protectData({
    //   /* 您的敏感数据 */ wtf: "2",
    // });
    // console.log("222", sensitiveData);
  </script>
  <script>
    // // 解密函数
    // function unprotectData(protectedData) {
    //   // 1. 验证签名
    //   const calculatedSig = CryptoJS.MD5(
    //     protectedData.data + "SALT"
    //   ).toString();
    //   if (calculatedSig !== protectedData.sig) {
    //     throw new Error("数据已被篡改");
    //   }

    //   // 2. 解密数据
    //   const decrypted = protectedData.data
    //     .replace(/./g, (c) => String.fromCharCode(c.charCodeAt(0) - 1))
    //     .split("")
    //     .reverse()
    //     .join("");

    //   return JSON.parse(decrypted);
    // }

    // // 使用示例
    // try {
    //   const originalData = unprotectData(sensitiveData);
    //   console.log("解密后的数据:", originalData);
    // } catch (e) {
    //   console.error("解密失败:", e.message);
    // }
  </script>
  <script>
    const gettime = () => {
      console.log(Date.now());
    };
    window.requestAnimationFrame(gettime);
  </script>
</html>
